#include "comm.hpp"
#include "log.hpp"

using namespace std;

int main()
{
    InitPipe init;
    Log log(Onefile,"./");
    pid_t fd =open(FIFO_FILE,O_RDONLY);  //返回文件描述符
    if(fd<0)
    {
        log(Fatal, "error string: %s, error code: %d", strerror(errno), errno);
        exit(FIFO_OPEN_ERR);
    }

    log(Info, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Debug, "server open file done, error string: %s, error code: %d", strerror(errno), errno);


    //开始通信（读）
    while(true)
    {
        char buffer[SIZE];
        int x = read(fd,buffer,sizeof(buffer));
        if (x > 0)          //读到了x个字节，成功！（多少就用多少）
        {
            buffer[x] = 0;
            cout << "client say# " << buffer << endl;
        }
        else if (x == 0)  	//读到了 EOF（文件/管道结尾），说明对方关了写端
        {
            log(Debug, "client quit, me too!, error string: %s, error code: %d", strerror(errno), errno);
            break;
        }
        else                //❌ 读取失败，错误信息保存在 errno 中
            break;
    }
    close(fd);
    return 0;
}